随机从数据中采样一个样本$i$,其对某个权重$w$产生的梯度为$g_i$。当批次大小为$B$时,批次对该权重产生的梯度为:
$$
g_B = \frac{1}{B}\sum_{i=1}^B g_i.
$$
批次梯度的期望等于全体样本的梯度期望,即:
$$
\mathbb E(g_B) = \mathbb E(g).
$$
批次的方差为:
$$
\mathbb{Var}(g_B) = \mathbb{Var}(\frac{1}{B}\sum_{i=1}^B g_i) = \frac{1}{B^2}\mathbb{Var}(\sum_{i=1}^B g_i) \\
= \frac{1}{B^2}\sum_{i=1}^B\mathbb{Var}(g_i) = \frac{1}{B}\mathbb{Var}(g).
$$
考虑SGD,其权重的更新规则为:
$$
w \leftarrow w - \eta g_B,
$$
其中$\eta$为学习率。对于某次梯度更新的方差为:
$$
\mathbb{Var}(\eta g_B) = \eta^2\mathbb{Var}(g_B) = \eta^2\frac{1}{B}\mathbb{Var}(g).
$$
所以,为了让梯度更新的方差保持和样本方差一致;或者说不随着$B$的变化而变化。我们希望$\eta' = \sqrt{B} \eta$。
相关证明
- 为什么$\frac{1}{B^2}\sum_{i=1}^B\mathbb{Var}(g_i) = \frac{1}{B}\mathbb{Var}(g)$。
我们知道$\mathbb{Var}(A+B) = \mathbb{Var}(A) + \mathbb{Var}(B) + 2\mathbb{Cov}(A,B)$。只有当协方差为0时,才能得到$\mathbb{Var}(A+B) = \mathbb{Var}(A) + \mathbb{Var}(B)$。
因为$g_i$为独立同分布的随机变量,所以$\mathbb{Cov}(g_i,g_j) = 0$。因此满足上面的式子。